           package com.java.diagnostics.visualizer.impl.data;
           
           import com.java.diagnostics.visualizer.data.AggregateData;
           import com.java.diagnostics.visualizer.data.TupleData;
           import com.java.diagnostics.visualizer.data.Variant;
           import com.java.diagnostics.visualizer.properties.OutputProperties;
           
           public class VariantImpl extends AggregatedImpl
             implements Variant
           {
             public VariantImpl(String variantLabel)
             {
               super(variantLabel);
             }
           
             public void addVariantLevelData(AggregateDataImpl aggregateData) {
               this.dataIsDirty = true;
           
               super.addAggregateData(aggregateData);
             }
           
             public AggregateData[] getLowerDownHierarchyData() {
               return null;
             }
           
             protected VariantImpl getCroppedVariant(OutputProperties properties) {
               VariantImpl newVariant = new VariantImpl(getLabel());
               newVariant.addAggregateData(getCroppedData(properties));
               return newVariant;
             }
           
             public boolean variantIsCropped(OutputProperties outputProperties) {
               for (TupleData tuple : getTupleData()) {
                 if (((TupleDataImpl)tuple).tupleIsCropped(outputProperties)) {
                   return true;
                 }
               }
               return false;
             }
           }

